//
// Created by sjjmw on 2/23/2022.
//

#ifndef LEETCODE__17_H
#define LEETCODE__17_H

//todo
// 假设有k个人质和k个绑匪围成一圈。人质的编号从1到k，绑匪的编号从k+1到2k。
// 从编号1开始，每次从其中选出第m个人(隔m-1选出一人)出列。
// 希望求出m的最小值，使得最先出列的k个人都是绑匪，即都是编号从k+1到2k的人。
#include "iostream"

int main() {
    double thres;
//    std::cin>>set_cnt;
    while (scanf("%lf", &thres) != EOF) {
        double e=1;
        double item=1;
        int fm=1;
        if(item<thres){
            e=0;
            fm=0;
            goto end;
        }
        while(1){
            item/=fm;

            if(item<thres){
                break;
            }
            fm++;
            e+=item;
        }
        end:
        printf("%.6f %d",e,fm);
    }
    return 0;
}


#endif //LEETCODE__17_H
